<?php
class Form_CadastroSql extends Zend_Form
{
	public function __construct($options = null)
	{
		parent::__construct($options);
		$submit = new Zend_Form_Element_Submit('submit');
        $submit->setAttrib('id', 'submitbutton')->setLabel("Salvar");
        
		$this->setName('frm_consulta_sql');
		$this->setAttrib('id','frm_consulta_sql');
		
		$codigo = new Zend_Form_Element_Hidden('codigo');
		$codigo->removeDecorator('label') ->removeDecorator('HtmlTag');
		
		$descritivo = new Zend_Form_Element_Text('descritivo');
		$descritivo->setLabel('Descritivo')
			->setRequired(true)            
			->addFilter('StripTags')
			->addFilter('StringTrim')
            ->addValidator('NotEmpty')
			->setAttrib('size','50');
		
		
		$codigo_sistema= $this->getSistemaOrigem('codigo_sistema');
		$codigo_sistema->setLabel('Sistema de origem');
		
		$mensal = new Zend_Form_Element_Textarea('mensal');
        $mensal->setLabel('Comando SQL mês')
                ->setAttrib('rows','15')
                ->setAttrib('cols','90')
                ->setAttrib('class','sql');
        
        $anual = new Zend_Form_Element_Textarea('anual');
        $anual->setLabel('Comando SQL ano')
                ->setAttrib('rows','15')
                ->setAttrib('cols','90')
                ->setAttrib('class','sql');
        
        $anualizado = new Zend_Form_Element_Textarea('anualizado');
        $anualizado->setLabel('Comando SQL anualizado ')
                    ->setAttrib('rows','15')
                    ->setAttrib('cols','90')
                    ->setAttrib('class','sql');

        $periodo_disponivel = new Zend_Form_Element_TextArea('periodo_disponivel');
        $periodo_disponivel->setLabel('Comando SQL para período disponível')
                        ->setAttrib('rows','3')
                        ->setAttrib('cols','90')
                        ->setAttrib('class','sql');
        
        $condicao_sexo = new Zend_Form_Element_TextArea('condicao_sexo');
        $condicao_sexo->setLabel('Condição para filtro de sexo')
                ->setAttrib('rows','2')
                ->setAttrib('cols','90')
                ->setAttrib('class','sql');
        
        $condicao_faixa = new Zend_Form_Element_TextArea('condicao_faixa');
        $condicao_faixa->setLabel('Condição para faixa etária')
                        ->setAttrib('rows','2')
                        ->setAttrib('cols','90')
                        ->setAttrib('class','sql');

        $condicao_distrital = new Zend_Form_Element_TextArea('condicao_distrital');
        $condicao_distrital->setLabel('Condição para distrito e unidade')
		                ->setAttrib('rows','3')
		                ->setAttrib('cols','90')
		                ->setAttrib('class','sql');
        
        $finalizado = new Zend_Form_Element_Checkbox('finalizado');
        $finalizado->setLabel('Finalizar');
        
               
        $this->addElements(array($codigo, 
                                 $descritivo,
                                 $codigo_sistema,
                                 $mensal,
                                 $anual,
                                 $anualizado,
                                 $condicao_sexo,
                                 $condicao_faixa,
                                 $condicao_distrital,
                                 $periodo_disponivel,
                                 $submit));
	}
    /**
     * 
     * @param $name
     * @return Zend_Form_Element_Select
     */
    public function getSistemaOrigem($name){
        $sistemas = new Model_Sistemas();
        $elementSistemas = new Zend_Form_Element_Select($name);
        $elementSistemas->addMultiOption(null , "Selecione um sistema");
        foreach($sistemas->fetchAll() as $s) 
            $elementSistemas->addMultiOption($s->codigo , $s->nome_sistema);
        
        $elementSistemas->setLabel('Sistema de origem');
        return $elementSistemas;
    }
	public function getDados()
	{
		$return = $this->getValues();
		unset($return['submit']);
		foreach ($return as $k=>$v)
		{
			if(is_array($v))
			unset($return[$k]);
		}
		return $return;
	}
}